package w83b.w83bOperacionesPaso.w83bMantenimientos.w83bConvenios;

import java.util.ArrayList;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.lang.StringUtils;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import w83b.w83bBeans.W83bConveniosBean;
import w83b.w83bUtilidades.W83bUtilidadesComunes;
import w83b.w83bUtilidadesComunes.W83bClsConstantes;

import es.ejie.frmk.presentacion.operacion.paso.Q70ActionPasoOP;
import es.ejie.frmk.presentacion.sesiondatos.Q70ContextoEJIE;

// TODO: Auto-generated Javadoc
/**
 * The Class W83bTablaConveniosOP.java.
 *
 * @author Deusto Sistemas
 */
public class W83bTablaConveniosOPAction extends Q70ActionPasoOP{

	
	protected void processOP(Q70ContextoEJIE contexto, ActionErrors errores, ActionMapping mapping,
			ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		//Guardamos la accion en el contexto
			contexto.set("action",request.getParameter("action"));
			W83bConveniosBean convenioBean = (W83bConveniosBean)contexto.get("w83bConveniosBean");
		if((StringUtils.isEmpty((String)contexto.get("modoPantalla"))
				||W83bClsConstantes.MODO_BUSQUEDA.equals(contexto.get("modoPantalla")))){
				if("true".equals(request.getParameter(W83bClsConstantes.RIA_SEARCH))){
					convenioBean.setCodConvenios(request.getParameter("w83bConveniosBean.codConvenios"));
					convenioBean.setDescConvenios(request.getParameter("w83bConveniosBean.descConvenios"));
					convenioBean.setDescConveniosEusk(request.getParameter("w83bConveniosBean.descConveniosEusk"));
					convenioBean.setCodMadrid(request.getParameter("w83bConveniosBean.codMadrid"));
					convenioBean.setConvPorEscrut(request.getParameter("w83bConveniosBean.convPorEscrut"));
					convenioBean.setEspEnAlava(request.getParameter("w83bConveniosBean.espEnAlava"));
					convenioBean.setEspEnBizkaia(request.getParameter("w83bConveniosBean.espEnBizkaia"));
					convenioBean.setEspEnGuip(request.getParameter("w83bConveniosBean.espEnGuip"));
					convenioBean.setTipoEmpresa(request.getParameter("w83bConveniosBean.tipoEmpresa"));
					convenioBean.setTipoEmpresaDesc(request.getParameter("w83bConveniosBean.tipoEmpresaStr"));
					convenioBean.setBaja(request.getParameter("w83bConveniosBean.baja"));
					if(StringUtils.isNotEmpty(request.getParameter("w83bConveniosBean.baja"))){
						convenioBean.setBaja(W83bClsConstantes.CONSTANTE_SI);
					}
					convenioBean = (W83bConveniosBean)W83bUtilidadesComunes.inicializarPaginador(request, convenioBean);
					convenioBean.setPage("1");
					contexto.set("w83bConveniosBean",convenioBean);
				}else{
					convenioBean = (W83bConveniosBean)W83bUtilidadesComunes.inicializarPaginador(request, convenioBean);
					
					contexto.set("w83bConveniosBean",convenioBean);				
				}
		}else if("sord".equals(request.getParameter("action"))){
			convenioBean = (W83bConveniosBean)W83bUtilidadesComunes.inicializarPaginador(request, convenioBean);			
			contexto.set("w83bConveniosBean",convenioBean);
		}else if(StringUtils.isEmpty(((W83bConveniosBean)contexto.get("w83bConveniosBean")).getSort())){
			convenioBean = (W83bConveniosBean)contexto.get("w83bConveniosBean");
			convenioBean = (W83bConveniosBean)W83bUtilidadesComunes.inicializarPaginador(request, convenioBean);			
			contexto.set("w83bConveniosBean",convenioBean);
		}else if(W83bClsConstantes.MODO_BUSQUEDA_CONBUSQ_INICIAL.equals(contexto.get("modoPantalla"))){
			convenioBean = (W83bConveniosBean)contexto.get("w83bConveniosBean");
			convenioBean = (W83bConveniosBean)W83bUtilidadesComunes.inicializarPaginador(request, convenioBean);			
			contexto.set("w83bConveniosBean",convenioBean);
		}
		
	}

	protected ActionForward processForward(Q70ContextoEJIE contexto, ActionErrors errors, ActionMapping mapping, 
			ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		String action = (String)contexto.get("action");

		W83bConveniosBean conveniosBean = (W83bConveniosBean)contexto.get("w83bConveniosBean");
		
		conveniosBean.setIdioma((String)contexto.get(W83bClsConstantes.CONSTANTE_CONTEXTO_IDIOMA));
		
		contexto.set("w83bConveniosBean", conveniosBean);
		
		if(null==(ArrayList)contexto.get("w83bListaConvenios")){	
			contexto.set("w83bListaConvenios", new ArrayList());
		}
		if ("find".equals(action)||"sord".equals(action)){
			//Si vengo de una pantalla anterior tengo que mirar si he realizado una búsqueda anterior
			if(StringUtils.isEmpty((String)contexto.get("modoPantalla"))||W83bClsConstantes.MODO_BUSQUEDA.equals(contexto.get("modoPantalla"))){
				return mapping.findForward("find");
			}else{
				contexto.set("modoPantalla",W83bClsConstantes.MODO_BUSQUEDA);
				if("convenios".equals((String)contexto.get("subOpFlag"))){
					contexto.set("migas","inicio.mantenimiento.convenio");
				}else if("agrupaciones".equals((String)contexto.get("subOpFlag"))){
					contexto.set("migas","inicio.mantenimiento.busqAgrupacionConvenio.edicionAgrupacion.convenio");
				}
				if("true".equals((String)contexto.get("busqRealizada"))){
					return mapping.findForward("find");					
				}
			}
		}

		
		return mapping.findForward("ok");
	}

}
